//
//  EBGroupInfo.h
//  ENTBoostKit
//
//  Created by zhong zf on 14-7-2.
//
//

#import "SOTP_defines.h"

@class TBGroupInfo;

@interface EBGroupInfo : NSObject

@property(nonatomic) int32_t offset; //顺序号

@property(nonatomic) uint64_t entCode; //企业代码，如是个人群组则为0
@property(nonatomic) uint64_t depCode; //部门或群组代码
@property(nonatomic) uint64_t parentCode; //上层部门或群组
@property(strong, nonatomic) NSString* depName; //部门或群组代码
@property(strong, nonatomic) NSString* phone; //联系电话
@property(strong, nonatomic) NSString* fax; //传真号码
@property(strong, nonatomic) NSString* email; //电子邮箱
@property(strong, nonatomic) NSString* url; //主页地址
@property(strong, nonatomic) NSString* address; //联系地址
@property(strong, nonatomic) NSString* description; //备注信息

@property(nonatomic) EB_GROUP_TYPE type; //群组类型

@property(nonatomic) uint64_t myEmpCode; //当前用户在该部门中的成员编号；如果当前用户不在该部门中，则等于0

//@property(weak, nonatomic) EBGroupInfo* parentGroup; //上级部门
//@property(strong, nonatomic) NSDictionary* subGroups; //子部门
//@property(strong, nonatomic) NSDictionary* members; //部门或群组下成员，加载完毕才有数据
@property(nonatomic) int memberCount; //成员数量；即便members还没有加载，该值也可以反映服务器上的真实数量

@property(nonatomic) uint64_t verNo; //数据版本号，用于判断本地缓存的该部门内成员数据是否与服务器版本相同

- (id)initWithDictionary:(NSDictionary*)dict;

- (id)initWithTBGroupInfo:(TBGroupInfo*)tbGroupInfo;

///是否企业群组(非个人群组)
- (BOOL)isEntGroup;

@end
